A new class of embedded safety systems, referred to as advanced driver assistance systems (ADAS), has been introduced into automobiles to reduce human operation error. Such systems may provide functionality such as rear-view facing cameras, electronic stability control, and vision-based pedestrian detection systems. Many of these systems rely on computer vision processing to detect objects in the field of view of one or more cameras. See, for example, “Making Cars Safer Through Technology Innovation,” October 2013.
Multi-resolution decomposition of an image, i.e., down scaling of an image in differing resolutions, to generate a pyramid of images of differing resolutions is a fundamental operation in computer vision applications. The image pyramid enables analysis of the scene captured in the original image at different “sizes”, e.g., over different distances.
Decomposition of each camera image may be performed using various processing engines that execute tasks in an iterative manner, where each iteration of the task may be referred to as a portion of a “thread.” From the software perspective, the software is often executed as one or more threads. A thread may correspond to a sequence of tasks that are executed by a processor core. Various thread scheduling techniques are known, see, for example: Nimar Arara, et. al., “Thread Scheduling for Multiprogrammed Multiprocessors,” June 1998.